#region Imported Namespaces


using System;
using System.Runtime.InteropServices;


#endregion


namespace MobilePal.WindowsNative
{
  [StructLayout(LayoutKind.Sequential)]
  internal struct SHNOTIFICATIONDATA
  {
    // for verification and versioning
    public int cbStruct;
    // identifier for this particular notification
    public int dwID;
    // priority
    public SHNP npPriority;

    /// <summary>
    /// Duration to display the bubble (in seconds).
    /// </summary>
    public int csDuration;

    // the icon for the notification
    public IntPtr hicon;

    /// <summary>
    /// Flags that affect the behaviour of the Notification bubble
    /// </summary>
    public SHNF grfFlags;

    // unique identifier for the notification class
    public Guid clsid;
    // window to receive command choices, dismiss, etc.
    public IntPtr hwndSink;
    // HTML content for the bubble
    [MarshalAs(UnmanagedType.LPTStr)]
    public string pszHTML;

    // Optional title for bubble
    [MarshalAs(UnmanagedType.LPTStr)]
    public string pszTitle;

    /// <summary>
    /// User defined parameter
    /// </summary>
    public int lParam;

    // Structure fields below this point were added in WM5.0
    public SOFTKEYNOTIFY leftSoftKey;
    public SOFTKEYNOTIFY rightSoftKey;

    [MarshalAs(UnmanagedType.LPTStr)]
    public string pszTodaySK;

    [MarshalAs(UnmanagedType.LPTStr)]
    public string pszTodayExec;
  }
}